Optimistic data retrieval in a process control environment

ABSTRACT

Processing raw data stored in an historian device for determining an amount of products passed through a process element in a process control environment is described. A count value is incremented by a counter at a rate at which products pass through the process element. The count value rolls over to zero when the count value reaches a rollover value R. An historian device periodically receives count value data points from the counter. A deadband value D is set in the historian device for distinguishing between rollovers, resets, and reversals. A client device queries the historian device for an amount of products passed through the process element for a timeframe. The historian device selects a set of count value data points from within the queried timeframe. The historian device determines, based on the selected data points and their quality, an amount of products passed through the process element.

CROSS-REFERENCE

Co-pending, co-owned, U.S. patent application Ser. No. ______, entitledHistorical Summarization in a Process Control Environment, filed on thesame day as this application, is incorporated herein in its entirety byreference.

Co-pending, co-owned, U.S. patent application Ser. No. ______, entitledConnection Based Bandwidth Optimization of Data Packets, filed on thesame day as this application, is incorporated herein in its entirety byreference.

BACKGROUND

Industry increasingly depends upon highly automated data acquisition andcontrol systems to ensure that industrial processes are run efficiently,safely, and reliably while lowering their overall production costs. Dataacquisition begins when a number of sensors measure aspects of anindustrial process and periodically report their measurements back to adata collection and control system. Such measurements come in a widevariety of forms. By way of example, the measurements produced by asensor/recorder include: temperature, pressure, pH, and mass/volume flowof material, as well as a tallied inventory of packages waiting in ashipping line and/or a photograph of a room in a factory. Such processsystems generate large and varied quantities of data which are stored ina raw form and must be processed into useful information. Ensuring thatthe raw data is processed into accurate information is vital forevaluating and improving the process system.

SUMMARY

Briefly, aspects of the present invention involve processing raw datastored in an historian device into information in response to a queryfrom a client device in a process control environment.

In one aspect, a method for determining an amount of products passedthrough a process element in a process control environment is described.A count value is incremented by a counter at a rate at which productspass through the process element. The count value rolls over to zerowhen the count value reaches a rollover value R. An historian deviceperiodically receives count value data points from the counter. Adeadband value D is set in the historian device for distinguishingbetween rollovers, resets, and reversals. A client device queries thehistorian device for an amount of products passed through the processelement 108 for a timeframe. The historian device selects a set of countvalue data points from within the queried timeframe. The historiandevice determines, based on the selected data points, an amount ofproducts passed through the process element.

In a further aspect, a method of retrieving data from an historiandevice in a process control environment is described. A query for aresult over a timeframe is received by an historian device from a clientdevice connected to the historian device. The historian device selectsdata points within the timeframe wherein at least one of the data pointscan be a NULL value. The historian device sets a quality rule mode. Inone embodiment, the mode comprises a ‘GOOD’ quality rule mode, an‘EXTENDED’ quality rule mode, and/or an ‘OPTIMISTIC’ quality rule mode.The historian device calculates the result based on the selected datapoints. The historian device returns the calculated result to the clientdevice.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

Other features will be in part apparent and in part pointed outhereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a client device 102, historian device 104,counter 106 and process element 108 and the relations between them.

FIG. 2 is a sequence diagram of the process of gathering counter 106data in the historian device 104 from the process element 108 andcounter 106.

FIG. 3 is a sequence diagram of the process of the historian device 104responding to a query from the client device 102 for a total based ongathered counter 106 value data points.

FIG. 4 is an exemplary graph of gathered counter 106 value data points.

Corresponding reference characters indicate corresponding partsthroughout the drawings.

DETAILED DESCRIPTION

Aspects of the present invention generally relate to the field ofprocessing data gathered from a process control environment into usefulinformation for users. A process control environment includes a facilityor factory containing equipment that facilitates the automation of aprocess. In an embodiment, the process is for the manufacture orproduction of products, including goods for sale or ingredients for usein other processes or the like. Products produced are mechanical,chemical, or electrical in nature, or some combination thereof. Theenvironment includes equipment or process elements necessary tofacilitate the process, as well as equipment to automate the process.The equipment includes, for example, controllers for organizing anddirecting the other equipment in the process, actuators for physicallyor electrically causing actions directed by the controllers, sensors forgathering information about the process to provide feedback to thecontrollers, and the like. The process control environment according toembodiments of the invention includes interface devices that enableusers to view information about the process. An interface devicecomprises, for example, a personal computer, server computer, mobiledevice, or the like.

In an embodiment, the process control system 100 includes a clientdevice 102, an historian device 104, a counter 106, and a processelement 108. FIG. 1 shows an exemplary block diagram of a relationshipbetween the parts of the process control system. The client device 102is, for example, a stationary computer or a mobile device. Preferably,the client device 102 comprises at least a memory storage device (MSD)102A, a processor 102B, and a display device 102C. The client device 102in an embodiment also includes an interface through which a user maycontrol the process or change the information that is being displayed onthe display device. The memory storage device of the client device 102contains processor-executable instructions for the operation of theclient device 102. The processor is configured to execute theinstructions to cause the client device 102 to operate. The displaydevice can be any sort of device capable of displaying processinformation to a user. This could include a computer monitor, a touchscreen on a mobile device or the like.

The process control system in the illustrated embodiment of FIG. 1 alsoincludes an historian device 104. The historian device 104 is passeddata that is gathered from the process for storage and processing. Animportant part of an effective process control system is the analysis ofdata from the process in order to make educated decisions about how toimprove the process. The historian device 104 comprises, for example, anhistorian server module (HSM) 104A that stores historical data for lateruse and analysis. The historian device 104 further comprises, forexample, one or more memory storage devices (MSD) 104B that store thedata gathered from the process and processer-executable instructions anda processor 104 C for executing the instructions. In turn, theprocesser-executable instructions direct the operation of the historiandevice 104.

In an embodiment, the historian device 104 also comprises an historianconnection module (HCM) 104D. The historian connection module 104Dbehaves as an interface for connecting to and interacting with thehistorian device 104. The historian connection module 104D is connectedto a network to other devices in the process control system, including aclient device 102 as described above. The network connection may be overany type of communication network. The network may be either wired orwireless and either private or public. It may include use of the WorldWide Web or other large network. Because the network connection isflexible, the historian connection module 104D is configured to connectto devices that are far removed from the location of the historiandevice 104. The historian device 104 and client device 102 could be inthe same room, or on separate continents. The connection between thehistorian device 104 and client device 102 preferably connects in atypical manner of two devices connecting via a network.

The process element 108 shown in FIG. 1 comprises a device or set ofequipment and devices through which products of the process pass. Thismay include discrete products like widgets being transported on aconveyor belt or more fluid products like volumes of fluid passingthrough a pipe. The process element 108 may execute some form ofprocessing on the products, or it may even comprise the entire process.

The counter 106 shown in FIG. 1 is connected to the process element 108and keeps track of products passed through the element by incrementing acounter 106 value. The counter 106 comprises mechanical, electrical, orsoftware elements or some combination thereof. The counter 106preferably comprises a rollover value, after which the counter 106 rollsthe count value over to 0 and continues incrementing from there. Forinstance, if a counter 106 has a rollover value of 10,000, then when thecount value is 9,999 and another widget passes over the conveyor beltelement being counted, the count rolls over to a count value of 0.

The counter 106 is connected to the historian through a network or othercommunication means. The connection between the counter 106 andhistorian device 104 may comprise additional intervening devices,computers, or controllers. The flowchart in FIG. 2 shows the process ofgathering data from the process element 108 by the counter 106 andhistorian device 104. The process element 108 processes products at 202according to its function and the counter 106 increments at 204 for eachprocessed product. Periodically, counter 106 value data points are sentat 206 from the counter 106 to the historian device 104 for storage andprocessing. The historian device 104 stores the data points in the oneor more memory storage devices. The difference between the gathered datapoints is preferably a short enough timespan that the number of productspassed through the process element 108 can be accurately inferred fromanalysis of the data points.

The data points as gathered in the historian device 104 are in a rawform of periodic counter 106 value data points. More useful informationmay be inferred from the raw data after the historian device 104processes the data points. The historian device 104 preferably processesthe raw data into information after a specific query for the informationis received. The flowchart of FIG. 3 describes a process of the clientdevice 102 querying the historian device 104 for a total number ofproducts processed over a timeframe. Preferably, the queried timeframeis long enough that the historian device 104 has a sufficient number ofdata points to determine an accurate value. For instance, if thehistorian device 104 only has one or two data points for a giventimeframe, it may be difficult to produce an accurate total. However, ifthe historian device 104 has ten or more data points for the timeframe,an accurate total is more likely.

Upon receiving the query at 302, the historian device 104 selects at 304the data points that fall into the queried timeframe. Preferably eachdata point comprises a value and a timestamp, enabling the historiandevice 104 to accurately determine which data points fall into thetimeframe. In an embodiment, the historian device 104 increments at 306the total by the rollover value of the counter 106 for each time arollover is detected based on the data point values. A rollover can bedetected when a preceding counter 106 value is greater than thefollowing counter 106 value. For instance, if the counter 106 has arollover value of 100 and a preceding data value is 99 and a followingdata value is one, the historian determines that a rollover has occurredand the total is increased by the rollover value of 100.

However, the historian device 104 must also account at 306 for resetsand reversals. A reset occurs when a counter 106 is manually resetbefore the rollover value has been reached. A reversal occurs when theprocess element 108 and counter 106 are manually reversed to a previousspot. For instance, if a user at a plant found that some widgets on aconveyor belt needed to be reprocessed, the user may reverse the belt tothe point that the widgets would be reprocessed. Resets and reversalsare detected by the historian device 104 as well to ensure an accuratetotal.

The historian device 104 uses a deadband value that has been set toenable the historian device 104 to accurately determine the differencebetween rollovers, resets, and reversals. Without a deadband, thecounter 106 reflects accumulated values, but not rates and quantities,which in some environments are more important for reporting. The purposeof the counter retrieval mode is to use a tag's rollover point tocalculate and return the delta change between consecutive cycles.Exceptions (e.g., “reverse” and “reset”) can make the calculated ratesunreliable. When exceptions such as reversals or resets occur, theretrieval mode can miscompute the number of units per period assumingthe value rolled over. The deadband configuration provides a way for theuser to add tolerance for reversals and resets.

The deadband value operates as a percentage of the rollover value of thecounter 106. In an embodiment, where the rollover value of the counter106 is R, the deadband value is D, and a preceding data point is X whilethe following data point is Y, detection of rollovers, resets, andreversals is as follows:

-   -   If X>Y and X<R*(1−D/100) and Y<R*D/100, the historian device 104        determines that a reset has occurred.    -   If X>Y and X−Y<R*D/100, the historian device 104 determines that        a reversal has occurred.    -   If X>Y and the historian does not determine that either a reset        or reversal has occurred, the historian device 104 determines        that a rollover has occurred.

For instance, if the rollover value R is 100, the deadband value D is10, and values X and Y are 85 and 5 respectively, the historian device104 would calculate that 85 is greater than 5, 85 is less than 90(100*(1−10/100)=100*0.9=90), and 5 is less than 10 (100*10/100). Thesevalues X and Y would be treated as a reset.

If the rollover value R is 100, the deadband value D is 10, and values Xand Y are 75 and 70 respectively, the historian device 104 wouldcalculate that 75 is greater than 70 and 5 (75−70) is less than 10(100*10/100). These values X and Y would be treated as a reversal.

Finally, if the rollover value R is 100, the deadband value D is 10, andvalues X and Y are 95 and 5 respectively, the historian device 104 wouldcalculate that 95 is greater than 5, a reset has not occurred (95 is notless than 90), and a reversal has not occurred (95−5 is not less than10). These values of X and Y would be treated as a rollover.

The total value calculated by the historian device 104 at 308 isincreased or decreased based on the determined occurrences of rollovers,resets, and reversals. If a rollover is determined to have occurred, thetotal value is increased by the rollover value. The historian device 104infers that the counter 106 has counted at least enough products tocause the counter 106 to rollover. If a reset is determined to haveoccurred, the historian device 104 infers that the counter 106 did notmake it to the rollover value before the reset. In this case, thehistorian device 104 increases the total by the value of the precedingdata point. If a reversal is determined to have occurred, the historiandevice 104 infers that the total value must be reduced by the differencebetween the values of the preceding data point and the following datapoint in order to prevent the reversed products from being countedtwice. Once all of the rollover, reset, and reversal events have beenaccounted for in the calculated total, the historian device 104 takesaccount of any remaining data points in the queried timeframe andreturns the calculated total to the client at 310 via the networkconnection.

The deadband value used by the historian device 104 to make the abovedeterminations can be adjusted to increase the accuracy of thedeterminations. Preferably, the default deadband value is 10.

In an embodiment, the historian device 104 uses multiple cycles of timewithin a queried timeframe to divide up the data points during thecalculation. The number of cycles is based on a specified resolution orcycle count. A number of rollovers, resets, and reversals may bedetermined for each cycle and the totals from the cycles combined toform a final total. The historian device 104 calculation based on thecounter 106 value data points are applied for both integer analog dataand real analog data. For integer analog data, the result will be in theform of an integer. For real analog data, the result can includefractional values.

In an embodiment, the counter 106 does not have a rollover value and isonly manually reset. The rollover value of the counter 106 is set to 0to reflect this property. In the case where automatic rollovers do notoccur, the historian device 104 treats determined rollovers as resets.

FIG. 4 shows an example set of data points graphed with value on they-axis and time on the x-axis. Data points P1-P12 have been saved by thehistorian device 104 through the queried timeframe. Cycle divisionsTc0-Tc3 represent cycles throughout the queried timeframe. A query isrun with a start time of TC0 and an end time of TC3. The resolution hasbeen set in such a way, that data will be returned for three completecycles starting at TC0, TC1 and TC2 and an incomplete cycle starting atTC3.

In an embodiment, the historian device 104 processes data values thatare of lower quality or NULL. Of the points in FIG. 4, eleven pointsP1-P8 and P10-P12 represent normal analog values, and one point, P9,represents a NULL data point (e.g., a missing data point due to, forexample, an I/O server disconnect) which causes a gap in the databetween P8 and P10.

All points are found and considered by the counter 106 retrieval mode,but only the P1, P6, P9, and P11 are used to determine which values toreturn to the client. The returned points for each cycle are inferred asPC0, PC1, PC2 and PC3. There is not a simple relationship between themand any of the actual points.

All cycle values are calculated as the delta change between the cycletime in question and the previous cycle time, taking into account thenumber of rollovers that have occurred between the two points in time.The initial value to be returned at the query start time (PC1) iscalculated the same way, only based on a phantom cycle prior to thequery start time. The counter 106 algorithm will assume that a rolloveroccurred if the current value is lower than the previous value.

For example, the formula to calculate PC1 is as follows:

PC1=n*VR+P6−P1

where:

n=the number of rollovers that have occurred during the course of thecycle.

VR=the set rollover value for the counter 106.

If either n or VR are equal to zero, PC1 is simply the differencebetween the values P1 and P6.

In the case of cycle C2, there is no value at the cycle time, so theNULL value represented by point P9 is returned. In the case of cycle C3,a NULL is again returned, because there is no counter 106 value at theprevious cycle boundary to use in the calculation. There must be a fullcycle of values in order for the counter 106 to be calculated.

If a gap is fully contained inside a cycle, and if points occur withinthe cycle on both sides of the gap, then a counter 106 value will bereturned, even though it may occasionally be erroneous. Zero or onerollovers are assumed, even though it might in fact have rolled overmultiple times.

An initial value is returned using the period leading up to the querystart time. A data point that has a cycle time is used to generatecounter 106 value for its preceding cycle. A NULL point with cycle timewill cause the preceding cycle to end in a gap and the following cycleto start in a gap.

In an embodiment, a historian device can support various qualityindicators such as quality legacy and quality detail. As used herein,“quality” refers to a quality property to indicate how to treat the datapoint value. For example, in one embodiment, a quality of ‘DOUBTFUL’will be used with the counter 106 result for a cycle if a NULL point isconsidered for the cycle and the counter 106 result is not NULL.

In an embodiment, if a quality rule of the query is configured as an‘OPTIMISTIC’ quality rule mode, the historian device includes in theretrieval calculations data points with both a ‘GOOD’ quality and a‘DOUBTFUL’ quality except that data points with a ‘BAD’ quality will notbe included in a calculation.

Otherwise, if any points considered in a cycle have ‘DOUBTFUL’ quality,the result for that row will also have ‘DOUBTFUL’ quality. A cycle thatstarts or ends in a gap will be labeled as having a ‘BAD’ quality.

If the configured rollover value is larger than 0.0, then the datapoints whose values are equal to or larger than the rollover value willcause the counter 106 value for the cycle to be set to 0.0, with afiltered point applied to its quality.

If any data point with value less than 0.0 is found in a cycle, thecounter 106 value for the cycle will be set to 0.0, with a filteredpoint applied to its quality.

In an embodiment, the historian device 104 receives data points from avariety of sensor types including a counter 106. Each of the sensorsprovides data points that include a data value, a timestamp, and aquality value. The quality value can be set to a variety of possiblevalues which indicate certain statuses of the value. For instance, thequality value will be ‘GOOD’ if the value was gathered properly. If thevalue is the result of a less certain data gathering process, it willhave a quality value of ‘DOUBTFUL’. Some of the values gathered from thesensors are the result of exception cases. These data points are NULLvalues.

In an embodiment, the historian device 104 implements one or morequality rules in a quality rules mode at 305 that indicates what qualityof data points to consider at 306 when responding to a query from theclient device 102 and determining the count. In one embodiment, datapoints are evaluated and identified as having a ‘GOOD’ quality value orhaving a ‘DOUBTFUL’ quality value or having a ‘BAD’ quality value. Forexample, ‘GOOD’ quality value data points can be defined including datapoints falling with a pre-set, variable, calculated, or determined rangewhereas ‘DOUBTFUL’ quality value data points can be defined as includingdata values outside the range and ‘BAD’ quality value data points can beidentified as NULL data points and/or data points within the range butnot consistent with previous or subsequent data (e.g., deviating from atrend). As another example, a ‘DOUBTFUL’ quality is less than a preset‘GOOD’ quality value having a percentage value of the preset qualityvalue, such as 90% of the preset ‘GOOD’ quality value. As anotherexample, a ‘BAD’ quality is less than a preset ‘GOOD’ quality valuehaving a percentage value of the preset quality value, such as 80% ofthe preset ‘GOOD’ quality value. In one embodiment, retrieved valueswith a ‘BAD’ quality value (e.g., less than a minimum quality value)indicate there are gaps in the data.

In one embodiment, the quality rules mode is one of ‘GOOD’, ‘EXTENDED’,or ‘OPTIMISTIC’:

-   -   A ‘GOOD’ quality rule mode wherein the historian device includes        in the retrieval calculations data points with a ‘GOOD’ quality        and includes data points with a ‘BAD’ quality, wherein data        points with a ‘DOUBTFUL’ quality will not be included in a        calculation;    -   An ‘EXTENDED’ quality rule mode means that the historian device        104 includes in the retrieval calculations data values with both        a ‘GOOD’ quality, a ‘BAD’ quality, and a ‘DOUBTFUL’ quality.    -   an ‘OPTIMISTIC’ quality rule mode wherein the historian device        includes in the retrieval calculations data points with both a        ‘GOOD’ quality and a ‘DOUBTFUL’ quality except that data points        with a ‘BAD’ quality will not be included in a calculation.

In one embodiment, the historian device sets an ‘OPTIMISTIC’ qualityrule mode wherein the historian device includes in its retrievalcalculations data points except a “BAD” quality data point and,optionally, at least one of the following:

-   -   if a “BAD” quality data point is encountered, then a last known        ‘GOOD’ quality data point or a last known ‘DOUBTFUL’ quality        data point is used as if the “BAD” quality data point never        occurred;    -   if a “BAD” quality data point is encountered, then a last known        ‘GOOD’ quality data point or a last known ‘DOUBTFUL’ quality        data point is used as if the “BAD” quality data point never        occurred; wherein if a particular data point is a “BAD” quality        data point and if there are no points prior to the start of the        query, then 0.0 will be used as a starting base value for the        particular “BAD” quality data point;    -   if a “BAD” quality data point is encountered, then a last known        ‘GOOD’ quality data point or a last known ‘DOUBTFUL’ quality        data point is used as if the “BAD” quality data point never        occurred; wherein if a particular data point is a “BAD” quality        data point and if there are no points prior to the start of the        query, then 0.0 will be used as a starting base value for the        particular “BAD” quality data point, and then the value change        for the cycle is calculated from the first actual data point in        the cycle, rather than 0.0.

The ‘OPTIMISTIC’ quality rule mode allows retrieval and return ofpossibly incomplete results which are often better than returning NULLotherwise. Instead of refraining from calculating values that wouldinclude data gaps, the last known good value prior to the gap is used ifpossible. For instance, FIG. 4 shows a gap in data between P9 and P10.If it is assumed that P9 is a NULL value, in ‘OPTIMISTIC’ quality rulemode, the historian device 104 would still calculate the value Pct bytaking into account the previous good value, P8. Instead of returning aNULL value because of P9, the value returned will be based on P8. Thegap between P8 and P10 will then be determined to be a rollover, reset,or reversal as described above. The value for Pc3 would also becalculated by taking into account the value of P8 instead of simplyreturning NULL based on P9. With the inclusion of P8, the cycle from Tc2to Tc3 would treat P8 as the final value of the previous cycle,completing the cycle used to calculate Pc3.

For purposes of illustration, programs and other executable programcomponents, such as the operating system, are illustrated herein asdiscrete blocks. It is recognized, however, that such programs andcomponents reside at various times in different storage components of acomputing device, and are executed by a data processor(s) of the device.

Although described in connection with an exemplary computing systemenvironment, embodiments of the aspects of the invention are operationalwith numerous other general purpose or special purpose computing systemenvironments or configurations. The computing system environment is notintended to suggest any limitation as to the scope of use orfunctionality of any aspect of the invention. Moreover, the computingsystem environment should not be interpreted as having any dependency orrequirement relating to any one or combination of components illustratedin the exemplary operating environment. Examples of well-known computingsystems, environments, and/or configurations that may be suitable foruse with aspects of the invention include, but are not limited to,personal computers, server computers, hand-held or laptop devices,multiprocessor systems, microprocessor-based systems, set top boxes,programmable consumer electronics, mobile telephones, network PCs,minicomputers, mainframe computers, distributed computing environmentsthat include any of the above systems or devices, and the like.

Embodiments of the aspects of the invention may be described in thegeneral context of data and/or processor-executable instructions, suchas program modules, stored one or more tangible, non-transitory storagemedia and executed by one or more processors or other devices.Generally, program modules include, but are not limited to, routines,programs, objects, components, and data structures that performparticular tasks or implement particular abstract data types. Aspects ofthe invention may also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed computingenvironment, program modules may be located in both local and remotestorage media including memory storage devices.

In operation, processors, computers and/or servers may execute theprocessor-executable instructions (e.g., software, firmware, and/orhardware) such as those illustrated herein to implement aspects of theinvention.

Embodiments of the aspects of the invention may be implemented withprocessor-executable instructions. The processor-executable instructionsmay be organized into one or more processor-executable components ormodules on a tangible processor readable storage medium. Aspects of theinvention may be implemented with any number and organization of suchcomponents or modules. For example, aspects of the invention are notlimited to the specific processor-executable instructions or thespecific components or modules illustrated in the figures and describedherein. Other embodiments of the aspects of the invention may includedifferent processor-executable instructions or components having more orless functionality than illustrated and described herein.

The order of execution or performance of the operations in embodimentsof the aspects of the invention illustrated and described herein is notessential, unless otherwise specified. That is, the operations may beperformed in any order, unless otherwise specified, and embodiments ofthe aspects of the invention may include additional or fewer operationsthan those disclosed herein. For example, it is contemplated thatexecuting or performing a particular operation before, contemporaneouslywith, or after another operation is within the scope of aspects of theinvention.

When introducing elements of aspects of the invention or the embodimentsthereof, the articles “a,” “an,” “the,” and “said” are intended to meanthat there are one or more of the elements. The terms “comprising,”“including,” and “having” are intended to be inclusive and mean thatthere may be additional elements other than the listed elements.

In view of the above, it will be seen that several advantages of theaspects of the invention are achieved and other advantageous resultsattained.

Not all of the depicted components illustrated or described may berequired. In addition, some implementations and embodiments may includeadditional components. Variations in the arrangement and type of thecomponents may be made without departing from the spirit or scope of theclaims as set forth herein. Additional, different or fewer componentsmay be provided and components may be combined. Alternatively or inaddition, a component may be implemented by several components.

The above description illustrates the aspects of the invention by way ofexample and not by way of limitation. This description enables oneskilled in the art to make and use the aspects of the invention, anddescribes several embodiments, adaptations, variations, alternatives anduses of the aspects of the invention, including what is presentlybelieved to be the best mode of carrying out the aspects of theinvention. Additionally, it is to be understood that the aspects of theinvention is not limited in its application to the details ofconstruction and the arrangement of components set forth in thefollowing description or illustrated in the drawings. The aspects of theinvention are capable of other embodiments and of being practiced orcarried out in various ways. Also, it will be understood that thephraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limiting.

Having described aspects of the invention in detail, it will be apparentthat modifications and variations are possible without departing fromthe scope of aspects of the invention as defined in the appended claims.It is contemplated that various changes could be made in the aboveconstructions, products, and process without departing from the scope ofaspects of the invention. In the preceding specification, variouspreferred embodiments have been described with reference to theaccompanying drawings. It will, however, be evident that variousmodifications and changes may be made thereto, and additionalembodiments may be implemented, without departing from the broader scopeof the aspects of the invention as set forth in the claims that follow.The specification and drawings are accordingly to be regarded in anillustrative rather than restrictive sense.

The Abstract is provided to help the reader quickly ascertain the natureof the technical disclosure. It is submitted with the understanding thatit will not be used to interpret or limit the scope or meaning of theclaims.

What is claimed is:
 1. A method for determining an amount of productspassed through a process element in a process control environmentcomprising: incrementing, by a counter, a count value at a rate at whichproducts pass through the process element; rolling over the count valueto zero by the counter when the count value reaches a rollover value Rafter which the counter rolls the count value over to 0 and continuesincrementing; receiving by a historian device connected to the counter,count value data points periodically; setting in the historian device, adeadband value D for distinguishing among rollovers, resets, and/orreversals; querying by a client device to the historian device, anamount of products passed through the process element for a timeframe;selecting by the historian device, a set of count value data pointsreceived within the queried timeframe; and determining by the historiandevice, based on the selected data points, an amount of products passedthrough the process element.
 2. The method of claim 1 wherein thedetermining comprises: determining a reset has occurred if a first datapoint is greater than a following data point and the first data point isless than R*(1−D/100) and the following data point is less than R*D/100,and determining the amount of products passed through the processelement based on the determined reset; determining a reversal hasoccurred if the first data point is greater than the following datapoint and the difference between the first data point and the followingdata point is less than R*D/100, and determining the amount of productspassed through the process element based on the determined reversal; anddetermining a rollover has occurred if the first data point is greaterthan the following data point and it has not been determined that resethas occurred between the first and following data points and it has notbeen determined that a reversal has occurred between the first andfollowing data points, and determining the amount of products passedthrough the process element based on the determined rollover.
 3. Themethod of claim 2 wherein at least one of the following: if it has beendetermined that a rollover has occurred, the amount of products isincreased by the rollover value R; if it has been determined that areset has occurred, the amount of products is increased by the value ofthe first data point; if it has been determined that a reversal hasoccurred, the amount of products is decreased by the difference betweenthe first data point and the following data point.
 4. The method ofclaim 2 further comprising returning the calculated value of the amountof products passed through the process element to the client device. 5.The method of claim 2 wherein the deadband value D is set as apercentage of a rollover value of the counter.
 6. The method of claim 1wherein the historian device receives a query for a result over atimeframe from the client device connected to the historian device, andwherein the historian device selects data points within the timeframe;and further comprising: identifying in the historian device, data pointsas having a ‘GOOD’ quality, a ‘BAD’ quality, or a ‘DOUBTFUL’ quality;setting in the historian device, one of the following quality rulemodes: a ‘GOOD’ quality rule mode wherein the historian device includesin the retrieval calculations data points with a ‘GOOD’ quality and a‘BAD’ quality, wherein data points with a ‘DOUBTFUL’ quality will not beincluded in a calculation; an ‘EXTENDED’ quality rule mode wherein thehistorian device includes in the retrieval calculations data points withboth a ‘GOOD’ quality, a ‘BAD’ quality, and a ‘DOUBTFUL’ quality; and an‘OPTIMISTIC’ quality rule mode wherein the historian device includes inthe retrieval calculations data points with both a ‘GOOD’ quality and a‘DOUBTFUL’ quality except that data points with a ‘BAD’ quality will notbe included in a calculation; and wherein the determined amount ofproducts by the historian device is based on the included data points;and wherein the historian device returns the determined amount ofproducts to the client device.
 7. The method of claim 6 wherein thehistorian device sets an ‘OPTIMISTIC’ quality rule mode wherein thehistorian device includes in its retrieval calculations data pointsexcept a “BAD” quality data point and at least one of the following: ifa “BAD” quality data point is encountered, then a last known ‘GOOD’quality data point or a last known ‘DOUBTFUL’ quality data point is usedas if the “BAD” quality data point never occurred; if a “BAD” qualitydata point is encountered, then a last known ‘GOOD’ quality data pointor a last known ‘DOUBTFUL’ quality data point is used as if the “BAD”quality data point never occurred; wherein if a particular data point isa “BAD” quality data point and if there are no points prior to the startof the query, then 0.0 will be used as a starting base value for theparticular “BAD” quality data point; if a “BAD” quality data point isencountered, then a last known ‘GOOD’ quality data point or a last known‘DOUBTFUL’ quality data point is used as if the “BAD” quality data pointnever occurred; wherein if a particular data point is a “BAD” qualitydata point and if there are no points prior to the start of the query,then 0.0 will be used as a starting base value for the particular “BAD”quality data point, and then the value change for the cycle iscalculated from the first actual data point in the cycle, rather than0.0.
 8. A method of retrieving data from an historian device in aprocess control environment comprising: receiving in the historiandevice, a query for a result over a timeframe by an historian devicefrom a client device connected to the historian device; selecting by thehistorian device, data points within the timeframe; identifying in thehistorian device, data points as having a ‘GOOD’ quality, a ‘BAD’quality, or a ‘DOUBTFUL’ quality; setting in the historian device, an‘OPTIMISTIC’ quality rule mode wherein the historian device includes inthe retrieval calculations data points with both a ‘GOOD’ quality and a‘DOUBTFUL’ quality except that that ‘BAD” quality data points will notbe included in a calculation; wherein the determined amount of productsby the historian device is based on the included data points; andwherein the historian device returns the determined amount of productsto the client device.
 9. The method of claim 8 wherein at least one ofthe following: if a “BAD” quality data point is encountered, then a lastknown ‘GOOD’ quality data point or a last known ‘DOUBTFUL’ quality datapoint is used as if the “BAD” quality data point never occurred; if a“BAD” quality data point is encountered, then a last known ‘GOOD’quality data point or a last known ‘DOUBTFUL’ quality data point is usedas if the “BAD” quality data point never occurred; wherein if aparticular data point is a “BAD” quality data point and if there are nopoints prior to the start of the query, then 0.0 will be used as astarting base value for the particular “BAD” quality data point; if a“BAD” quality data point is encountered, then a last known ‘GOOD’quality data point or a last known ‘DOUBTFUL’ quality data point is usedas if the “BAD” quality data point never occurred; wherein if aparticular data point is a “BAD” quality data point and if there are nopoints prior to the start of the query, then 0.0 will be used as astarting base value for the particular “BAD” quality data point, andthen the value change for the cycle is calculated from the first actualdata point in the cycle, rather than 0.0.
 10. The method of claim 9further comprising: incrementing by a counter, a count value at a rateat which products pass through the process element; rolling over thecount value to zero by the counter when the count value reaches arollover value R after which the counter rolls the count value over to 0and continues incrementing; receiving by the historian device connectedto the counter, count value data points periodically; setting, in thehistorian device, a deadband value D for distinguishing among rollovers,resets, and/or reversals; querying by the client device from thehistorian device, an amount of products passed through the processelement for a timeframe; selecting by the historian device, a set ofcount value data points received within the queried timeframe; anddetermining by the historian device, based on the selected data points,an amount of products passed through the process element.
 11. The methodof claim 10 wherein the determining comprises: determining a reset hasoccurred if a first data point is greater than a following data pointand the first data point is less than R*(1−D/100) and the following datapoint is less than R*D/100, and determining the amount of productspassed through the process element based on the determined reset;determining a reversal has occurred if the first data point is greaterthan the following data point and the difference between the first datapoint and the following data point is less than R*D/100, and determiningthe amount of products passed through the process element based on thedetermined reversal; and determining a rollover has occurred if thefirst data point is greater than the following data point and it has notbeen determined that reset has occurred between the first and followingdata points and it has not been determined that a reversal has occurredbetween the first and following data points, and determining the amountof products passed through the process element based on the determinedrollover.
 12. A historian device for use with a client device fordisplaying statistical data in a process control environment, thehistorian device comprising: a historian memory storage device and ahistorian processor including a counter, said historian memory storagedevice storing statistical data and storing processor-executableinstructions for execution by the historian processor for implementing ahistorian connection module and a historian server module, saidprocessor-executable instructions configured for, when executed by thehistorian processor: incrementing by the counter, a count value at arate at which products pass through the process element; rolling overthe count value to zero by the counter when the count value reaches arollover value R after which the counter rolls the count value over to 0and continues incrementing; receiving by an historian device connectedto the counter, count value data points periodically; setting, in thehistorian device, a deadband value D for distinguishing among rollovers,resets, and/or reversals; querying by a client device from the historiandevice, an amount of products passed through the process element for atimeframe; selecting by the historian device, a set of count value datapoints received within the queried timeframe; and determining by thehistorian device, based on the selected data points, an amount ofproducts passed through the process element; wherein the historianprocessor returns at the calculated value of the amount of productspassed through the process element to the client device.
 13. The deviceof claim 12 wherein the determining processor-executable instructionsare configured for: determining a reset has occurred if a first datapoint is greater than a following data point and the first data point isless than R*(1−D/100) and the following data point is less than R*D/100,and determining the amount of products passed through the processelement based on the determined reset; determining a reversal hasoccurred if the first data point is greater than the following datapoint and the difference between the first data point and the followingdata point is less than R*D/100, and determining the amount of productspassed through the process element based on the determined reversal; anddetermining a rollover has occurred if the first data point is greaterthan the following data point and it has not been determined that resethas occurred between the first and following data points and it has notbeen determined that a reversal has occurred between the first andfollowing data points, and determining the amount of products passedthrough the process element based on the determined rollover.
 14. Thedevice of claim 13 wherein the determining processor-executableinstructions are configured for at least one of the following: if it hasbeen determined that a rollover has occurred, the amount of products isincreased by the rollover value R; if it has been determined that areset has occurred, the amount of products is increased by the value ofthe first data point; if it has been determined that a reversal hasoccurred, the amount of products is decreased by the difference betweenthe first data point and the following data point.
 15. The device ofclaim 13 wherein the determining processor-executable instructions areconfigured for returning the calculated value of the amount of productspassed through the process element to the client device.
 16. The deviceof claim 13 wherein the determining processor-executable instructionsare configured for the deadband value D is set as a percentage of arollover value of the counter.
 17. The device of claim 12 wherein thehistorian device receives a query for a result over a timeframe from theclient device connected to the historian device, and wherein thehistorian device selects data points within the timeframe; and whereinthe determining processor-executable instructions are configured for:identifying in the historian device, data points as having a ‘GOOD’quality, a ‘BAD’ quality, or a ‘DOUBTFUL’ quality; setting in thehistorian device, one of the following quality rule modes: a ‘GOOD’quality rule mode wherein the historian device includes in the retrievalcalculations data points with a ‘GOOD’ quality and a ‘BAD’ quality,wherein data points with a ‘DOUBTFUL’ quality will not be included in acalculation; an ‘EXTENDED’ quality rule mode wherein the historiandevice includes in the retrieval calculations data points with both a‘GOOD’ quality, a ‘BAD’ quality, and a ‘DOUBTFUL’ quality; and an‘OPTIMISTIC’ quality rule mode wherein the historian device includes inthe retrieval calculations data points with both a ‘GOOD’ quality and a‘DOUBTFUL’ quality except that data points with a ‘BAD’ quality will notbe included in a calculation; and wherein the determined amount ofproducts by the historian device is based on the included data points;and wherein the historian device returns the determined amount ofproducts to the client device.
 18. The device of claim 17 wherein thehistorian device sets at an ‘OPTIMISTIC’ quality rule mode wherein thehistorian device includes in its retrieval calculations data pointsexcept a “BAD” quality data point and wherein the determiningprocessor-executable instructions are configured for at least one of thefollowing: if a “BAD” quality data point is encountered, then a lastknown ‘GOOD’ quality data point or a last known ‘DOUBTFUL’ quality datapoint is used as if the “BAD” quality data point never occurred; if a“BAD” quality data point is encountered, then a last known ‘GOOD’quality data point or a last known ‘DOUBTFUL’ quality data point is usedas if the “BAD” quality data point never occurred; wherein if aparticular data point is a “BAD” quality data point and if there are nopoints prior to the start of the query, then 0.0 will be used as astarting base value for the particular “BAD” quality data point; if a“BAD” quality data point is encountered, then a last known ‘GOOD’quality data point or a last known ‘DOUBTFUL’ quality data point is usedas if the “BAD” quality data point never occurred; wherein if aparticular data point is a “BAD” quality data point and if there are nopoints prior to the start of the query, then 0.0 will be used as astarting base value for the particular “BAD” quality data point, andthen the value change for the cycle is calculated from the first actualdata point in the cycle, rather than 0.0.
 19. A historian memory storagedevice and a historian processor including a counter, said historianmemory storage device storing statistical data and storingprocessor-executable instructions for execution by the historianprocessor for implementing a historian connection module and a historianserver module, said processor-executable instructions configured for,when executed by the historian processor: receiving in the historiandevice, a query for a result over a timeframe by an historian devicefrom a client device connected to the historian device; selecting by thehistorian device, data points within the timeframe; identifying in thehistorian device, data points as having a ‘GOOD’ quality, a ‘BAD’quality, or a ‘DOUBTFUL’ quality; setting, in the historian device, an‘OPTIMISTIC’ quality rule mode wherein the historian device includes inthe retrieval calculations data points with both a ‘GOOD’ quality and a‘DOUBTFUL’ quality except that that ‘BAD’ quality data points will notbe included in a calculation; wherein the determined amount of productsby the historian device is based on the included data points; andwherein the historian device returns the determined amount of productsto the client device.
 20. The device of claim 19 wherein the determiningprocessor-executable instructions are configured for at least one of thefollowing: if a “BAD” quality data point is encountered, then a lastknown ‘GOOD’ quality data point or a last known ‘DOUBTFUL’ quality datapoint is used as if the “BAD” quality data point never occurred; if a“BAD” quality data point is encountered, then a last known ‘GOOD’quality data point or a last known ‘DOUBTFUL’ quality data point is usedas if the “BAD” quality data point never occurred; wherein if aparticular data point is a “BAD” quality data point and if there are nopoints prior to the start of the query, then 0.0 will be used as astarting base value for the particular “BAD” quality data point; if a“BAD” quality data point is encountered, then a last known ‘GOOD’quality data point or a last known ‘DOUBTFUL’ quality data point is usedas if the “BAD” quality data point never occurred; wherein if aparticular data point is a “BAD” quality data point and if there are nopoints prior to the start of the query, then 0.0 will be used as astarting base value for the particular “BAD” quality data point, andthen the value change for the cycle is calculated from the first actualdata point in the cycle, rather than 0.0.
 21. The device of claim 20wherein the determining processor-executable instructions are configuredfor: incrementing by a counter, a count value at a rate at whichproducts pass through the process element; rolling over the count valueto zero by the counter when the count value reaches a rollover value Rafter which the counter rolls the count value over to 0 and continuesincrementing; receiving by the historian device connected to thecounter, count value data points periodically; setting, in the historiandevice, a deadband value D for distinguishing among rollovers, resets,and/or reversals; querying by the client device from the historiandevice, an amount of products passed through the process element for atimeframe; selecting by the historian device, a set of count value datapoints received within the queried timeframe; and determining by thehistorian device, based on the selected data points, an amount ofproducts passed through the process element.
 22. The device of claim 21wherein the determining processor-executable instructions are configuredfor: determining a reset has occurred if a first data point is greaterthan a following data point and the first data point is less thanR*(1−D/100) and the following data point is less than R*D/100, anddetermining the amount of products passed through the process elementbased on the determined reset; determining a reversal has occurred ifthe first data point is greater than the following data point and thedifference between the first data point and the following data point isless than R*D/100, and determining the amount of products passed throughthe process element based on the determined reversal; and determining arollover has occurred if the first data point is greater than thefollowing data point and it has not been determined that reset hasoccurred between the first and following data points and it has not beendetermined that a reversal has occurred between the first and followingdata points, and determining the amount of products passed through theprocess element based on the determined rollover.